import Mock from 'mockjs';
import setupMock, { successResponseWrap } from '@/utils/setup-mock';

const haveReadIds: number[] = [];
const getMessageList = () => {
	return [
		{
			id: 1,
			type: 'message',
			title: '郑曦月',
			subTitle: '的私信',
			avatar: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/8361eeb82904210b4f55fab888fe8416.png~tplv-uwbnlip3yd-webp.webp',
			content: '审批请求已发送，请查收',
			time: '今天 12:30:01'
		},
		{
			id: 2,
			type: 'message',
			title: '宁波',
			subTitle: '的回复',
			avatar: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp',
			content: '此处 bug 已经修复',
			time: '今天 12:30:01'
		},
		{
			id: 3,
			type: 'message',
			title: '宁波',
			subTitle: '的回复',
			avatar: '//p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/3ee5f13fb09879ecb5185e440cef6eb9.png~tplv-uwbnlip3yd-webp.webp',
			content: '此处 bug 已经修复',
			time: '今天 12:20:01'
		},
		{
			id: 4,
			type: 'notice',
			title: '续费通知',
			subTitle: '',
			avatar: '',
			content: '您的产品使用期限即将截止，如需继续使用产品请前往购…',
			time: '今天 12:20:01',
			messageType: 3
		},
		{
			id: 5,
			type: 'notice',
			title: '规则开通成功',
			subTitle: '',
			avatar: '',
			content: '内容屏蔽规则于 2021-12-01 开通成功并生效',
			time: '今天 12:20:01',
			messageType: 1
		},
		{
			id: 6,
			type: 'todo',
			title: '质检队列变更',
			subTitle: '',
			avatar: '',
			content: '内容质检队列于 2021-12-01 19:50:23 进行变更，请重新…',
			time: '今天 12:20:01',
			messageType: 0
		}
	].map((item) => ({
		...item,
		status: haveReadIds.indexOf(item.id) === -1 ? 0 : 1
	}));
};

setupMock({
	setup: () => {
		Mock.mock(new RegExp('/api/message/list'), () => {
			return successResponseWrap(getMessageList());
		});

		Mock.mock(new RegExp('/api/message/read'), (params: { body: string }) => {
			const { ids } = JSON.parse(params.body);
			haveReadIds.push(...(ids || []));
			return successResponseWrap(true);
		});
	}
});
